#ifndef __APP_DBG_SM_H__
#define __APP_DBG_SM_H__


#include <rtthread.h>
#include "os_evt.h"
#include "app_dbg_cmd.h"


/*STATUS*/
typedef enum
{
    APP_DBG_SM_MOD_IDLE,            //空闲
    APP_DBG_SM_MOD_CONN,            //连接
    APP_DBG_SM_MOD_UP,             //上报
    APP_DBG_SM_MOD_DISCONN,         //断开连接

    APP_DBG_SM_MOD_MAX,
}app_dbg_sm_mod_e;



/* Event */
typedef enum
{
	APP_DBG_SM_EVT_INIT,        //状态切换初始事件
	APP_DBG_SM_EVT_TIMER,       //定时 事件
    APP_DBG_SM_EVT_UP_OK,       //上报成功 事件
	APP_DBG_SM_EVT_DISCONN,     //关闭 事件

	APP_DBG_SM_EVT_MAX,

}app_dbg_sm_evt_e;

/* 上报 */
typedef enum
{
	APP_DBG_SM_UP_HEART,        //心跳上报

	APP_DBG_SM_UP_MAX,

}app_dbg_sm_up_e;


//===========================================================
//函数声明
extern void app_dbg_sm_evt_proc(app_dbg_sm_evt_e evt, void *pt_buffer);
extern void app_dbg_sm_init();

extern void app_dbg_sm_heart_time_clr();

extern void app_dbg_up_flag_set(app_dbg_sm_up_e e_up);
extern void app_dbg_up_flag_clr(app_dbg_sm_up_e e_up);
extern INT8 app_dbg_up_flag_get();


//===========================================================

#endif


